function getAccurateTimestamp() {
    // 获取请求发送前的本地时间
    var startLocalTime = new Date().getTime();

    let timestamp = getTime();

    // 获取请求结束后的本地时间
    var endLocalTime = new Date().getTime();

    // 计算网络延迟的中间时间点
    var networkDelay = parseInt((endLocalTime - startLocalTime) / 2);
    console.log("TTL: " + networkDelay);

    // 加上网络延迟的修正
    var adjustedTimestamp = timestamp + networkDelay;

    return adjustedTimestamp;
}

function getTime(){
    // 请求时间戳API
    var response = http.get("https://db.yearnstudio.cn/time");
    if (response.statusCode != 200) {
        throw new Error("请求失败，状态码: " + response.statusCode);
    }

    // 解析API返回的数据
    try {

        const timestamp = parseInt(response.body.string());
        return timestamp;
    } catch (e) {
        console.error("获取时间戳失败,采用本地时间: " + e.message);
        return new Date().getTime();
    }
}

console.log("精确的时间戳: " + new Date().getTime());



// 使用例子
// try {
//     var timestamp = getAccurateTimestamp();
//     console.log("精确的时间戳: " + timestamp);
// } catch (e) {
//     console.error("获取时间戳失败: " + e.message);
// }
